// $ANTLR 3.4 /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/evaluator/MathEvaluator.g 2011-09-15 11:09:01
 
  package id.co.rho.framework.math.evaluator;


import org.antlr.runtime.*;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class MathEvaluatorLexer extends Lexer {
    public static final int EOF=-1;
    public static final int T__15=15;
    public static final int T__16=16;
    public static final int T__17=17;
    public static final int T__18=18;
    public static final int T__19=19;
    public static final int T__20=20;
    public static final int T__21=21;
    public static final int CHAR=4;
    public static final int COMMENT=5;
    public static final int ESC_SEQ=6;
    public static final int EXPONENT=7;
    public static final int FLOAT=8;
    public static final int HEX_DIGIT=9;
    public static final int ID=10;
    public static final int INT=11;
    public static final int OCTAL_ESC=12;
    public static final int UNICODE_ESC=13;
    public static final int WS=14;

    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public MathEvaluatorLexer() {} 
    public MathEvaluatorLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public MathEvaluatorLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "/Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g"; }

    // $ANTLR start "T__15"
    public final void mT__15() throws RecognitionException {
        try {
            int _type = T__15;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:13:7: ( '(' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:13:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__15"

    // $ANTLR start "T__16"
    public final void mT__16() throws RecognitionException {
        try {
            int _type = T__16;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:14:7: ( ')' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:14:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__16"

    // $ANTLR start "T__17"
    public final void mT__17() throws RecognitionException {
        try {
            int _type = T__17;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:15:7: ( '*' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:15:9: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__17"

    // $ANTLR start "T__18"
    public final void mT__18() throws RecognitionException {
        try {
            int _type = T__18;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:16:7: ( '+' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:16:9: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__18"

    // $ANTLR start "T__19"
    public final void mT__19() throws RecognitionException {
        try {
            int _type = T__19;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:17:7: ( '-' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:17:9: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__19"

    // $ANTLR start "T__20"
    public final void mT__20() throws RecognitionException {
        try {
            int _type = T__20;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:18:7: ( '/' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:18:9: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public final void mT__21() throws RecognitionException {
        try {
            int _type = T__21;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:19:7: ( 'mod' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:19:9: 'mod'
            {
            match("mod"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "ID"
    public final void mID() throws RecognitionException {
        try {
            int _type = ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ( '!' ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )* )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ( '!' ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )*
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:65: ( '!' ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0=='!') ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:66: '!' ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
            	    {
            	    match('!'); 

            	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:59:94: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
            	    loop2:
            	    do {
            	        int alt2=2;
            	        int LA2_0 = input.LA(1);

            	        if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'Z')||LA2_0=='_'||(LA2_0 >= 'a' && LA2_0 <= 'z')) ) {
            	            alt2=1;
            	        }


            	        switch (alt2) {
            	    	case 1 :
            	    	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
            	    	    {
            	    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	    	        input.consume();
            	    	    }
            	    	    else {
            	    	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	    	        recover(mse);
            	    	        throw mse;
            	    	    }


            	    	    }
            	    	    break;

            	    	default :
            	    	    break loop2;
            	        }
            	    } while (true);


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ID"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:62:5: ( ( '0' .. '9' )+ )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:62:7: ( '0' .. '9' )+
            {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:62:7: ( '0' .. '9' )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "FLOAT"
    public final void mFLOAT() throws RecognitionException {
        try {
            int _type = FLOAT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT )
            int alt11=3;
            alt11 = dfa11.predict(input);
            switch (alt11) {
                case 1 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )?
                    {
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:9: ( '0' .. '9' )+
                    int cnt5=0;
                    loop5:
                    do {
                        int alt5=2;
                        int LA5_0 = input.LA(1);

                        if ( ((LA5_0 >= '0' && LA5_0 <= '9')) ) {
                            alt5=1;
                        }


                        switch (alt5) {
                    	case 1 :
                    	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt5 >= 1 ) break loop5;
                                EarlyExitException eee =
                                    new EarlyExitException(5, input);
                                throw eee;
                        }
                        cnt5++;
                    } while (true);


                    match('.'); 

                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:25: ( '0' .. '9' )*
                    loop6:
                    do {
                        int alt6=2;
                        int LA6_0 = input.LA(1);

                        if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
                            alt6=1;
                        }


                        switch (alt6) {
                    	case 1 :
                    	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop6;
                        }
                    } while (true);


                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:37: ( EXPONENT )?
                    int alt7=2;
                    int LA7_0 = input.LA(1);

                    if ( (LA7_0=='E'||LA7_0=='e') ) {
                        alt7=1;
                    }
                    switch (alt7) {
                        case 1 :
                            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:66:37: EXPONENT
                            {
                            mEXPONENT(); 


                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:67:9: '.' ( '0' .. '9' )+ ( EXPONENT )?
                    {
                    match('.'); 

                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:67:13: ( '0' .. '9' )+
                    int cnt8=0;
                    loop8:
                    do {
                        int alt8=2;
                        int LA8_0 = input.LA(1);

                        if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
                            alt8=1;
                        }


                        switch (alt8) {
                    	case 1 :
                    	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt8 >= 1 ) break loop8;
                                EarlyExitException eee =
                                    new EarlyExitException(8, input);
                                throw eee;
                        }
                        cnt8++;
                    } while (true);


                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:67:25: ( EXPONENT )?
                    int alt9=2;
                    int LA9_0 = input.LA(1);

                    if ( (LA9_0=='E'||LA9_0=='e') ) {
                        alt9=1;
                    }
                    switch (alt9) {
                        case 1 :
                            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:67:25: EXPONENT
                            {
                            mEXPONENT(); 


                            }
                            break;

                    }


                    }
                    break;
                case 3 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:68:9: ( '0' .. '9' )+ EXPONENT
                    {
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:68:9: ( '0' .. '9' )+
                    int cnt10=0;
                    loop10:
                    do {
                        int alt10=2;
                        int LA10_0 = input.LA(1);

                        if ( ((LA10_0 >= '0' && LA10_0 <= '9')) ) {
                            alt10=1;
                        }


                        switch (alt10) {
                    	case 1 :
                    	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt10 >= 1 ) break loop10;
                                EarlyExitException eee =
                                    new EarlyExitException(10, input);
                                throw eee;
                        }
                        cnt10++;
                    } while (true);


                    mEXPONENT(); 


                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "FLOAT"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:72:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:72:9: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 



            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:72:14: ( options {greedy=false; } : . )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0=='*') ) {
                    int LA12_1 = input.LA(2);

                    if ( (LA12_1=='/') ) {
                        alt12=2;
                    }
                    else if ( ((LA12_1 >= '\u0000' && LA12_1 <= '.')||(LA12_1 >= '0' && LA12_1 <= '\uFFFF')) ) {
                        alt12=1;
                    }


                }
                else if ( ((LA12_0 >= '\u0000' && LA12_0 <= ')')||(LA12_0 >= '+' && LA12_0 <= '\uFFFF')) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:72:42: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);


            match("*/"); 



            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:75:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:75:9: ( ' ' | '\\t' | '\\r' | '\\n' )
            {
            if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "CHAR"
    public final void mCHAR() throws RecognitionException {
        try {
            int _type = CHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:82:5: ( '\\'' ( ESC_SEQ |~ ( '\\'' | '\\\\' ) ) '\\'' )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:82:8: '\\'' ( ESC_SEQ |~ ( '\\'' | '\\\\' ) ) '\\''
            {
            match('\''); 

            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:82:13: ( ESC_SEQ |~ ( '\\'' | '\\\\' ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0=='\\') ) {
                alt13=1;
            }
            else if ( ((LA13_0 >= '\u0000' && LA13_0 <= '&')||(LA13_0 >= '(' && LA13_0 <= '[')||(LA13_0 >= ']' && LA13_0 <= '\uFFFF')) ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;

            }
            switch (alt13) {
                case 1 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:82:15: ESC_SEQ
                    {
                    mESC_SEQ(); 


                    }
                    break;
                case 2 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:82:25: ~ ( '\\'' | '\\\\' )
                    {
                    if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;

            }


            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CHAR"

    // $ANTLR start "EXPONENT"
    public final void mEXPONENT() throws RecognitionException {
        try {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:87:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:87:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
            {
            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:87:22: ( '+' | '-' )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0=='+'||LA14_0=='-') ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
                    {
                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;

            }


            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:87:33: ( '0' .. '9' )+
            int cnt15=0;
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( ((LA15_0 >= '0' && LA15_0 <= '9')) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt15 >= 1 ) break loop15;
                        EarlyExitException eee =
                            new EarlyExitException(15, input);
                        throw eee;
                }
                cnt15++;
            } while (true);


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXPONENT"

    // $ANTLR start "HEX_DIGIT"
    public final void mHEX_DIGIT() throws RecognitionException {
        try {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:90:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "HEX_DIGIT"

    // $ANTLR start "ESC_SEQ"
    public final void mESC_SEQ() throws RecognitionException {
        try {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:94:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
            int alt16=3;
            int LA16_0 = input.LA(1);

            if ( (LA16_0=='\\') ) {
                switch ( input.LA(2) ) {
                case '\"':
                case '\'':
                case '\\':
                case 'b':
                case 'f':
                case 'n':
                case 'r':
                case 't':
                    {
                    alt16=1;
                    }
                    break;
                case 'u':
                    {
                    alt16=2;
                    }
                    break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    {
                    alt16=3;
                    }
                    break;
                default:
                    NoViableAltException nvae =
                        new NoViableAltException("", 16, 1, input);

                    throw nvae;

                }

            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;

            }
            switch (alt16) {
                case 1 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:94:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                    {
                    match('\\'); 

                    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;
                case 2 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:95:9: UNICODE_ESC
                    {
                    mUNICODE_ESC(); 


                    }
                    break;
                case 3 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:96:9: OCTAL_ESC
                    {
                    mOCTAL_ESC(); 


                    }
                    break;

            }

        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ESC_SEQ"

    // $ANTLR start "OCTAL_ESC"
    public final void mOCTAL_ESC() throws RecognitionException {
        try {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:101:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
            int alt17=3;
            int LA17_0 = input.LA(1);

            if ( (LA17_0=='\\') ) {
                int LA17_1 = input.LA(2);

                if ( ((LA17_1 >= '0' && LA17_1 <= '3')) ) {
                    int LA17_2 = input.LA(3);

                    if ( ((LA17_2 >= '0' && LA17_2 <= '7')) ) {
                        int LA17_4 = input.LA(4);

                        if ( ((LA17_4 >= '0' && LA17_4 <= '7')) ) {
                            alt17=1;
                        }
                        else {
                            alt17=2;
                        }
                    }
                    else {
                        alt17=3;
                    }
                }
                else if ( ((LA17_1 >= '4' && LA17_1 <= '7')) ) {
                    int LA17_3 = input.LA(3);

                    if ( ((LA17_3 >= '0' && LA17_3 <= '7')) ) {
                        alt17=2;
                    }
                    else {
                        alt17=3;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 17, 1, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;

            }
            switch (alt17) {
                case 1 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:101:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 

                    if ( (input.LA(1) >= '0' && input.LA(1) <= '3') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;
                case 2 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:102:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 

                    if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;
                case 3 :
                    // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:103:9: '\\\\' ( '0' .. '7' )
                    {
                    match('\\'); 

                    if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;

            }

        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OCTAL_ESC"

    // $ANTLR start "UNICODE_ESC"
    public final void mUNICODE_ESC() throws RecognitionException {
        try {
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:108:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
            // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:108:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
            {
            match('\\'); 

            match('u'); 

            mHEX_DIGIT(); 


            mHEX_DIGIT(); 


            mHEX_DIGIT(); 


            mHEX_DIGIT(); 


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "UNICODE_ESC"

    public void mTokens() throws RecognitionException {
        // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | ID | INT | FLOAT | COMMENT | WS | CHAR )
        int alt18=13;
        alt18 = dfa18.predict(input);
        switch (alt18) {
            case 1 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:10: T__15
                {
                mT__15(); 


                }
                break;
            case 2 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:16: T__16
                {
                mT__16(); 


                }
                break;
            case 3 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:22: T__17
                {
                mT__17(); 


                }
                break;
            case 4 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:28: T__18
                {
                mT__18(); 


                }
                break;
            case 5 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:34: T__19
                {
                mT__19(); 


                }
                break;
            case 6 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:40: T__20
                {
                mT__20(); 


                }
                break;
            case 7 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:46: T__21
                {
                mT__21(); 


                }
                break;
            case 8 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:52: ID
                {
                mID(); 


                }
                break;
            case 9 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:55: INT
                {
                mINT(); 


                }
                break;
            case 10 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:59: FLOAT
                {
                mFLOAT(); 


                }
                break;
            case 11 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:65: COMMENT
                {
                mCOMMENT(); 


                }
                break;
            case 12 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:73: WS
                {
                mWS(); 


                }
                break;
            case 13 :
                // /Users/bungrudi/Documents/Workspace/PEFINDO/pefindocid/src/main/java/id/co/rho/framework/math/id.co.rho.framework.math.evaluator/MathEvaluator.g:1:76: CHAR
                {
                mCHAR(); 


                }
                break;

        }

    }


    protected DFA11 dfa11 = new DFA11(this);
    protected DFA18 dfa18 = new DFA18(this);
    static final String DFA11_eotS =
        "\5\uffff";
    static final String DFA11_eofS =
        "\5\uffff";
    static final String DFA11_minS =
        "\2\56\3\uffff";
    static final String DFA11_maxS =
        "\1\71\1\145\3\uffff";
    static final String DFA11_acceptS =
        "\2\uffff\1\2\1\1\1\3";
    static final String DFA11_specialS =
        "\5\uffff}>";
    static final String[] DFA11_transitionS = {
            "\1\2\1\uffff\12\1",
            "\1\3\1\uffff\12\1\13\uffff\1\4\37\uffff\1\4",
            "",
            "",
            ""
    };

    static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
    static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
    static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
    static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
    static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
    static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
    static final short[][] DFA11_transition;

    static {
        int numStates = DFA11_transitionS.length;
        DFA11_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
        }
    }

    class DFA11 extends DFA {

        public DFA11(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 11;
            this.eot = DFA11_eot;
            this.eof = DFA11_eof;
            this.min = DFA11_min;
            this.max = DFA11_max;
            this.accept = DFA11_accept;
            this.special = DFA11_special;
            this.transition = DFA11_transition;
        }
        public String getDescription() {
            return "65:1: FLOAT : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT );";
        }
    }
    static final String DFA18_eotS =
        "\6\uffff\1\16\1\10\1\uffff\1\20\5\uffff\1\10\1\uffff\1\22\1\uffff";
    static final String DFA18_eofS =
        "\23\uffff";
    static final String DFA18_minS =
        "\1\11\5\uffff\1\52\1\157\1\uffff\1\56\5\uffff\1\144\1\uffff\1\41"+
        "\1\uffff";
    static final String DFA18_maxS =
        "\1\172\5\uffff\1\52\1\157\1\uffff\1\145\5\uffff\1\144\1\uffff\1"+
        "\172\1\uffff";
    static final String DFA18_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\5\2\uffff\1\10\1\uffff\1\12\1\14\1\15"+
        "\1\13\1\6\1\uffff\1\11\1\uffff\1\7";
    static final String DFA18_specialS =
        "\23\uffff}>";
    static final String[] DFA18_transitionS = {
            "\2\13\2\uffff\1\13\22\uffff\1\13\6\uffff\1\14\1\1\1\2\1\3\1"+
            "\4\1\uffff\1\5\1\12\1\6\12\11\7\uffff\32\10\4\uffff\1\10\1\uffff"+
            "\14\10\1\7\15\10",
            "",
            "",
            "",
            "",
            "",
            "\1\15",
            "\1\17",
            "",
            "\1\12\1\uffff\12\11\13\uffff\1\12\37\uffff\1\12",
            "",
            "",
            "",
            "",
            "",
            "\1\21",
            "",
            "\1\10\16\uffff\12\10\7\uffff\32\10\4\uffff\1\10\1\uffff\32"+
            "\10",
            ""
    };

    static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
    static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
    static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
    static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
    static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
    static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
    static final short[][] DFA18_transition;

    static {
        int numStates = DFA18_transitionS.length;
        DFA18_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
        }
    }

    class DFA18 extends DFA {

        public DFA18(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 18;
            this.eot = DFA18_eot;
            this.eof = DFA18_eof;
            this.min = DFA18_min;
            this.max = DFA18_max;
            this.accept = DFA18_accept;
            this.special = DFA18_special;
            this.transition = DFA18_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | ID | INT | FLOAT | COMMENT | WS | CHAR );";
        }
    }
 

}